from devicetest.aw.OpenHarmony import CommonOH
from devicetest.core.test_case import TestCase, Step

from aw.common import common_setup, common_teardown
from aw.pom import Setting, DeskTop, Keyboard


class PreTest_RK3568_Basic_Setting_5000(TestCase, Setting):
    # 预置条件：
    # 烧写目标版本后，正常进入桌面
    # 测试步骤：
    # 1.进入桌面，点击设置-关于设备
    # 2.修改设备名称
    # 预期结果：
    # 1.进入关于设备界面，展示信息包含：设备名称、型号、厂家信息、设备、软件版本
    # 2.修改设备名称生效，且会同步到蓝牙设备名称

    def __init__(self, controllers):
        self.TAG = self.__class__.__name__
        TestCase.__init__(self, self.TAG, controllers)

    def setup(self):
        common_setup(self.Phone1)

    def process(self):
        Step('步骤1：进入桌面，点击设置-系统-日期和时间-日期')
        CommonOH.startAbility(self.Phone1, self.ability_name, self.bundle_name)
        CommonOH.wait(self.Phone1, 1)
        CommonOH.swipe(self.Phone1, **DeskTop.swipe_up)
        CommonOH.wait(self.Phone1, 3)
        CommonOH.touchByText(self.Phone1, '关于设备')
        Step('预期结果1：进入关于设备界面，展示信息包含：设备名称、型号、厂家信息、设备、软件版本')
        CommonOH.checkIfTextExist(self.Phone1, '设备名称')
        CommonOH.checkIfTextExist(self.Phone1, '型号')
        CommonOH.checkIfTextExist(self.Phone1, '厂家信息')
        CommonOH.checkIfTextExist(self.Phone1, '设备')
        CommonOH.checkIfTextExist(self.Phone1, '软件版本')

        Step('步骤2：修改设备名称')
        CommonOH.touchByText(self.Phone1, '设备名称')

        device_name = CommonOH.getTextByCondition(self.Phone1, 'type/TextInput')
        CommonOH.click(self.Phone1, x=580, y=200)
        for i in range(len(device_name)):
            CommonOH.click(self.Phone1, **Keyboard.delete)
            # CommonOH.wait(self.Phone1, 0.2)
        CommonOH.inputTextByType(self.Phone1, type='TextInput', content='a')
        CommonOH.touchByText(self.Phone1, '确定')
        Step('预期结果2: 修改设备名称生效，且会同步到蓝牙设备名称')
        CommonOH.checkIfTextExist(self.Phone1, '设备名称')
        CommonOH.checkIfTextExist(self.Phone1, 'a')
        CommonOH.goBack(self.Phone1)
        CommonOH.swipe(self.Phone1, **DeskTop.swipe_down)
        CommonOH.wait(self.Phone1, 3)
        CommonOH.touchByText(self.Phone1, '蓝牙')
        CommonOH.checkIfTextExist(self.Phone1, 'a')

    def teardown(self):
        common_teardown(self.Phone1, self.bundle_name)
